home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-06-23 | 39.2 KB | 1,870 lines |
-
- section ax,code_c
- opt c-,d+,w-,o+
-
- include 'df1:insert/custom registers'
-
- badd=(320*256)/8
- cadd=56*256
- akey=$bfec01
-
- jsr mt_init
- move.l #table,a3
- move.l a3,baz
- move.l #colourtab+24,a4
- move.l a4,dig
- move.l #colourtab+18,a4
- move.l a4,dig1
- move.l #colourtab+12,a4
- move.l a4,dig2
- move.l #colourtab+6,a4
- move.l a4,dig3
- move.l #colourtab+0,a4
- move.l a4,dig4
- jsr cop_init
- move.l $6c,oldirq
- move.l #newirq,$6c
- mse:
- cmp.b #$f0,$dff006
- bne mse
-
- zog:
- btst #6,$bfe001
- bne mse
- jsr mt_end
- move.l oldirq,$6c
- move.l copaddr,a0
- move.l oldcop,(a0)
- nolib:
- rts
- newirq:
- movem.l d0-d7/a0-a6,$75000
-
- cmpi.b #1,grumpy
- bne gobtw
- move.b #0,grumpy
- jsr sorter
- jsr sorter1
- jsr sorter2
- jsr sorter3
- jsr sorter4
- jsr mover
- jmp endc
-
- gobtw: move.b #1,grumpy
-
- endc:
- cmpi.b #1,stop
- beq greb
- cmpi.w #$0011,boh
- bne whodo
- jmp geh
- greb: addi.b #1,stopcock
- cmpi.b #200,stopcock
- bne who
- move.b #0,stop
- move.b #0,stopcock
- jmp whodo
- geh:
- move.w #$00ff,boh
- jsr bobsetup
- jsr printy
- jmp who
- whodo: subi.w #$0022,boh
- who:
- cmpi.b #1,start
- bne git
- jsr mt_music
- git:
- movem.l $75000,d0-d7/a0-a6
- dc.w $4ef9
-
- oldirq: dc.l 0
-
- even
-
- cop_init:
- lea screen,a0
- move.l a0,d0
- move.w d0,lo1
- swap d0
- move.w d0,hi1
- lea screen+cadd,a0
- move.l a0,d0
- move.w d0,lo2
- swap d0
- move.w d0,hi2
- lea screen+cadd*2,a0
- move.l a0,d0
- move.w d0,lo3
- swap d0
- move.w d0,hi3
- lea screen+cadd*3,a0
- move.l a0,d0
- move.w d0,lo4
- swap d0
- move.w d0,hi4
- lea screen+cadd*4,a0
- move.l a0,d0
- move.w d0,lo5
- swap d0
- move.w d0,hi5
-
- lea logo+25*40-4,a3
- move.l a3,d0
- move.w d0,alo1
- swap d0
- move.w d0,ahi1
- lea logo+badd+25*40-2,a4
- move.l a4,d1
- move.w d1,alo2
- swap d1
- move.w d1,ahi2
- lea logo+badd*2+25*40-2,a4
- move.l a4,d1
- move.w d1,alo3
- swap d1
- move.w d1,ahi3
- lea logo+badd*3+25*40-2,a4
- move.l a4,d1
- move.w d1,alo4
- swap d1
- move.w d1,ahi4
- lea logo+badd*4+25*40-2,a4
- move.l a4,d1
- move.w d1,alo5
- swap d1
- move.w d1,ahi5
-
- lea screen+190*56,a0
- move.l a0,d0
- move.w d0,blo1
- swap d0
- move.w d0,bhi1
- lea screen+cadd+190*56,a0
- move.l a0,d0
- move.w d0,blo2
- swap d0
- move.w d0,bhi2
- lea screen+cadd*2+190*56,a0
- move.l a0,d0
- move.w d0,blo3
- swap d0
- move.w d0,bhi3
- lea screen+cadd*3+190*56,a0
- move.l a0,d0
- move.w d0,blo4
- swap d0
- move.w d0,bhi4
- lea screen+cadd*4+190*56,a0
- move.l a0,d0
- move.w d0,blo5
- swap d0
- move.w d0,bhi5
-
- moveq #$00,d0
- lea grafname,a1
- move.l $4,a6
- jsr -132(A6)
- move.l $4,A6
- jsr -408(a6)
- tst d0
- beq nolib
- move.l d0,grafbase
- move.l d0,a6
- add.l #$32,d0
- move.l d0,a0
- move.l a0,copaddr
- move.l (a0),oldcop
- move.l #newcop,(a0)
- rts
-
- even
-
- grafname: dc.b "graphics.library",0
- grafbase: dc.l 0
- oldcop: dc.l 0
- copaddr: dc.l 0
- dig: dc.l 0
- dig1: dc.l 0
- dig2: dc.l 0
- dig3: dc.l 0
- dig4: dc.l 0
- grumpy: dc.l 0
- counter: dc.b 0
- counter1: dc.b 0
- counter2: dc.b 0
- counter3: dc.b 0
- counter4: dc.b 0
- stop: dc.b 0
- stopcock: dc.b 0
- start: dc.b 0
- tune: dc.b 0
-
- even
-
- newcop: dc.w $0100,$5200
- dc.w $0102
- dc.w $00ff
- dc.w $0120
- sp1l: dc.w $0000,$0122
- sp1h: dc.w $0000
- dc.w $0124
- sp2l: dc.w $0000,$0126
- sp2h: dc.w $0000
- dc.w $0128
- sp3l: dc.w $0000,$012a
- sp3h: dc.w $0000
- dc.w $012c
- sp4l: dc.w $0000,$012e
- sp4h: dc.w $0000
- dc.w $0130
- sp5l: dc.w $0000,$132
- sp5h: dc.w $0000
- scr: dc.w $2001,$fffe
- dc.w $00e0
- hi1: dc.w $0000
- dc.w $00e2
- lo1: dc.w $0000
- dc.w $00e4
- hi2: dc.w $0000
- dc.w $00e6
- lo2: dc.w $0000
- dc.w $00e8
- hi3: dc.w $0000
- dc.w $00ea
- lo3: dc.w $0000
- dc.w $00ec
- hi4: dc.w $0000
- dc.w $00ee
- lo4: dc.w $0000
- dc.w $00f0
- hi5: dc.w $0000
- dc.w $00f2
- lo5: dc.w $0000
- dc.w $008e,$3021
- dc.w $0090,$30f1
- dc.w $0092,$0020
- dc.w $0094,$00d8
- dc.w $0108,$0008
-
- dc.w $2001,$fffe
- dc.w $0180
- b1: dc.w $0000
- dc.w $2101,$fffe
- dc.w $0180
- b2: dc.w $0000
- dc.w $2201,$fffe
- dc.w $0180
- b3: dc.w $0000
- dc.w $2301,$fffe
- dc.w $0180
- b4: dc.w $0000
- dc.w $2401,$fffe
- dc.w $0180
- b5: dc.w $0000
- dc.w $2501,$fffe
- dc.w $0180
- b6: dc.w $0000
- dc.w $2601,$fffe
- dc.w $0180
- b7: dc.w $0000
- dc.w $2701,$fffe
- dc.w $0180
- b8: dc.w $0000
- dc.w $2801,$fffe
- dc.w $0180
- c1: dc.w $0000
- dc.w $2901,$fffe
- dc.w $0180
- c2: dc.w $0000
- dc.w $2a01,$fffe
- dc.w $0180
- c3: dc.w $0000
- dc.w $2b01,$fffe
- dc.w $0180
- c4: dc.w $0000
- dc.w $2c01,$fffe
- dc.w $0180
- c5: dc.w $0000
- dc.w $2d01,$fffe
- dc.w $0180
- c6: dc.w $0000
- dc.w $2e01,$fffe
- dc.w $0180
- c7: dc.w $0000
- dc.w $2f01,$fffe
- dc.w $0180
- c8: dc.w $0000
- dc.w $3001,$fffe
- dc.w $0180
- e1: dc.w $0000
- dc.w $3101,$fffe
- dc.w $0180
- e2: dc.w $0000
- dc.w $3201,$fffe
- dc.w $0180
- e3: dc.w $0000
- dc.w $3301,$fffe
- dc.w $0180
- e4: dc.w $0000
- dc.w $3401,$fffe
- dc.w $0180
- e5: dc.w $0000
- dc.w $3501,$fffe
- dc.w $0180
- e6: dc.w $0000
- dc.w $3601,$fffe
- dc.w $0180
- e7: dc.w $0000
- dc.w $3701,$fffe
- dc.w $0180
- e8: dc.w $0000
- dc.w $3801,$fffe
- dc.w $0180
- f1: dc.w $0000
- dc.w $3901,$fffe
- dc.w $0180
- f2: dc.w $0000
- dc.w $3a01,$fffe
- dc.w $0180
- f3: dc.w $0000
- dc.w $3b01,$fffe
- dc.w $0180
- f4: dc.w $0000
- dc.w $3c01,$fffe
- dc.w $0180
- f5: dc.w $0000
- dc.w $3d01,$fffe
- dc.w $0180
- f6: dc.w $0000
- dc.w $3e01,$fffe
- dc.w $0180
- f7: dc.w $0000
- dc.w $3f01,$fffe
- dc.w $0180
- f8: dc.w $0000
- dc.w $4001,$fffe
- dc.w $0180
- g1: dc.w $0000
- dc.w $4101,$fffe
- dc.w $0180
- g2: dc.w $0000
- dc.w $4201,$fffe
- dc.w $0180
- g3: dc.w $0000
- dc.w $4301,$fffe
- dc.w $0180
- g4: dc.w $0000
- dc.w $4401,$fffe
- dc.w $0180
- g5: dc.w $0000
- dc.w $4501,$fffe
- dc.w $0180
- g6: dc.w $0000
- dc.w $4601,$fffe
- dc.w $0180
- g7: dc.w $0000
- dc.w $4701,$fffe
- dc.w $0180
- g8: dc.w $0000
- dc.w $4801,$fffe
- dc.w $0180,$0000
- dc.w $0092,$0030
- dc.w $0094,$00c8
- dc.w $0108,$0000
- dc.w $0102,$0000
- dc.w $180,$000,$182,$306,$184,$407,$186,$417
- dc.w $188,$528,$18a,$629,$18c,$639,$18e,$74a,$190,$85a
- dc.w $192,$96b,$194,$a8c,$196,$b9c,$198,$cad,$19a,$dce
- dc.w $19c,$ede,$19e,$fff,$1a0,$000,$1a2,$111,$1a4,$222
- dc.w $1a6,$333,$1a8,$444,$1aa,$555,$1ac,$666,$1ae,$777
- dc.w $1b0,$888,$1b2,$999,$1b4,$aaa,$1b6,$bbb,$1b8,$ccc
- dc.w $1ba,$ddd,$1bc,$eee,$1be,$fff
- dc.w $0180,$0000
- dc.w $0180,$0000
- dc.w $00e0
- ahi1: dc.w $0000
- dc.w $00e2
- alo1: dc.w $0000
- dc.w $00e4
- ahi2: dc.w $0000
- dc.w $00e6
- alo2: dc.w $0000
- dc.w $00e8
- ahi3: dc.w $0000
- dc.w $00ea
- alo3: dc.w $0000
- dc.w $00ec
- ahi4: dc.w $0000
- dc.w $00ee
- alo4: dc.w $0000
- dc.w $00f0
- ahi5: dc.w $0000
- dc.w $00f2
- alo5: dc.w $0000
- dc.w $cb01,$fffe
- dc.w $0182,$0fff
- dc.w $0180
- h1: dc.w $0000
- dc.w $cc01,$fffe
- dc.w $0180
- h2: dc.w $0000
- dc.w $cd01,$fffe
- dc.w $0180
- h3: dc.w $0000
- dc.w $ce01,$fffe
- dc.w $0180
- h4: dc.w $0000
- dc.w $cf01,$fffe
- dc.w $0180
- h5: dc.w $0000
- dc.w $d001,$fffe
- dc.w $0180
- h6: dc.w $0000
- dc.w $d101,$fffe
- dc.w $0180
- h7: dc.w $0000
- dc.w $d201,$fffe
- dc.w $0180
- h8: dc.w $0000
- dc.w $d301,$fffe
- dc.w $0180
- i1: dc.w $0000
- dc.w $d401,$fffe
- dc.w $0180
- i2: dc.w $0000
- dc.w $d501,$fffe
- dc.w $0180
- i3: dc.w $0000
- dc.w $d601,$fffe
- dc.w $0180
- i4: dc.w $0000
- dc.w $d701,$fffe
- dc.w $0180
- i5: dc.w $0000
- dc.w $d801,$fffe
- dc.w $0180
- i6: dc.w $0000
- dc.w $d901,$fffe
- dc.w $0180
- i7: dc.w $0000
- dc.w $da01,$fffe
- dc.w $0180
- i8: dc.w $0000
- dc.w $db01,$fffe
- dc.w $0180
- j1: dc.w $0000
- dc.w $dc01,$fffe
- dc.w $0180
- j2: dc.w $0000
- dc.w $dd01,$fffe
- dc.w $0180
- j3: dc.w $0000
- dc.w $de01,$fffe
- dc.w $0180
- j4: dc.w $0000
- dc.w $df01,$fffe
- dc.w $0180
- j5: dc.w $0000
- dc.w $e001,$fffe
- dc.w $0180
- j6: dc.w $0000
- dc.w $e101,$fffe
- dc.w $0180
- j7: dc.w $0000
- dc.w $e201,$fffe
- dc.w $0180
- j8: dc.w $0000
- dc.w $e301,$fffe
- dc.w $0180
- k1: dc.w $0000
- dc.w $e401,$fffe
- dc.w $0180
- k2: dc.w $0000
- dc.w $e501,$fffe
- dc.w $0180
- k3: dc.w $0000
- dc.w $e601,$fffe
- dc.w $0180
- k4: dc.w $0000
- dc.w $e701,$fffe
- dc.w $0180
- k5: dc.w $0000
- dc.w $e801,$fffe
- dc.w $0180
- k6: dc.w $0000
- dc.w $e901,$fffe
- dc.w $0180
- k7: dc.w $0000
- dc.w $ea01,$fffe
- dc.w $0180
- k8: dc.w $0000
- dc.w $eb01,$fffe
- dc.w $0180
- l1: dc.w $0000
- dc.w $ec01,$fffe
- dc.w $0180
- l2: dc.w $0000
- dc.w $ed01,$fffe
- dc.w $0180
- l3: dc.w $0000
- dc.w $ee01,$fffe
- dc.w $0180
- l4: dc.w $0000
- dc.w $ef01,$fffe
- dc.w $0180
- l5: dc.w $0000
- dc.w $f001,$fffe
- dc.w $0180
- l6: dc.w $0000
- dc.w $f101,$fffe
- dc.w $0180
- l7: dc.w $0000
- dc.w $f201,$fffe
- dc.w $0180
- l8: dc.w $0000
- dc.w $f301,$fffe
- dc.w $0180,$0000
- dc.w $0092,$0020
- dc.w $0094,$00d8
- dc.w $0108,$0008
- dc.w $0102
- boh: dc.w $00ff
- dc.w $00e0
- bhi1: dc.w $0000
- dc.w $00e2
- blo1: dc.w $0000
- dc.w $00e4
- bhi2: dc.w $0000
- dc.w $00e6
- blo2: dc.w $0000
- dc.w $00e8
- bhi3: dc.w $0000
- dc.w $00ea
- blo3: dc.w $0000
- dc.w $00ec
- bhi4: dc.w $0000
- dc.w $00ee
- blo4: dc.w $0000
- dc.w $00f0
- bhi5: dc.w $0000
- dc.w $00f2
- blo5: dc.w $0000
- dc.w $ffff,$fffe
-
- even
-
-
- screen:
- ds.b 5*cadd
-
- colourtab:
-
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0100,$0300,$0500,$0700
- dc.w $0900,$0b00,$0d00,$0f00,$0d00,$0b00,$0900,$0700
- dc.w $0500,$0300,$0100,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0010,$0030,$0050,$0070
- dc.w $0090,$00b0,$00d0,$00f0,$00d0,$00b0,$0090,$0070
- dc.w $0050,$0030,$0010,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0101,$0303,$0505,$0707
- dc.w $0909,$0b0b,$0d0d,$0f0f,$0d0d,$0b0b,$0909,$0707
- dc.w $0505,$0303,$0101,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0011,$0033,$0055,$0077
- dc.w $0099,$00bb,$00dd,$00ff,$00dd,$00bb,$0099,$0077
- dc.w $0055,$0033,$0011,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0110,$0330,$0550,$0770
- dc.w $0990,$0bb0,$0dd0,$0ff0,$0dd0,$0bb0,$0990,$0770
- dc.w $0550,$0330,$0110,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
- dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
-
-
-
-
-
- sorter:
- move.l dig,a4
- move.w (a4),b1
- adda.l #2,a4
- move.w (a4),b2
- adda.l #2,a4
- move.w (a4),b3
- adda.l #2,a4
- move.w (a4),b4
- adda.l #2,a4
- move.w (a4),b5
- adda.l #2,a4
- move.w (a4),b6
- adda.l #2,a4
- move.w (a4),b7
- adda.l #2,a4
- move.w (a4),b8
- suba.l #12,a4
- move.l a4,dig
- cmpi.b #8*30,counter
- bne hug
- move.l #colourtab+24,a4
- move.l a4,dig
- move.b #0,counter
- hug:
- addi.b #1,counter
- rts
-
- sorter1:
- move.l dig1,a4
- move.w (a4),c1
- adda.l #2,a4
- move.w (a4),c2
- adda.l #2,a4
- move.w (a4),c3
- adda.l #2,a4
- move.w (a4),c4
- adda.l #2,a4
- move.w (a4),c5
- adda.l #2,a4
- move.w (a4),c6
- adda.l #2,a4
- move.w (a4),c7
- adda.l #2,a4
- move.w (a4),c8
- suba.l #12,a4
- move.l a4,dig1
- cmpi.b #8*30,counter1
- bne hug1
- move.l #colourtab+18,a4
- move.l a4,dig1
- move.b #0,counter1
- hug1:
- addi.b #1,counter1
- rts
-
-
- sorter2:
- move.l dig2,a4
- move.w (a4),e1
- adda.l #2,a4
- move.w (a4),e2
- adda.l #2,a4
- move.w (a4),e3
- adda.l #2,a4
- move.w (a4),e4
- adda.l #2,a4
- move.w (a4),e5
- adda.l #2,a4
- move.w (a4),e6
- adda.l #2,a4
- move.w (a4),e7
- adda.l #2,a4
- move.w (a4),e8
- suba.l #12,a4
- move.l a4,dig2
- cmpi.b #8*30,counter2
- bne hug2
- move.l #colourtab+12,a4
- move.l a4,dig2
- move.b #0,counter2
- hug2:
- addi.b #1,counter2
- rts
-
-
- sorter3:
- move.l dig3,a4
- move.w (a4),f1
- adda.l #2,a4
- move.w (a4),f2
- adda.l #2,a4
- move.w (a4),f3
- adda.l #2,a4
- move.w (a4),f4
- adda.l #2,a4
- move.w (a4),f5
- adda.l #2,a4
- move.w (a4),f6
- adda.l #2,a4
- move.w (a4),f7
- adda.l #2,a4
- move.w (a4),f8
- suba.l #12,a4
- move.l a4,dig3
- cmpi.b #8*30,counter3
- bne hug3
- move.l #colourtab+6,a4
- move.l a4,dig3
- move.b #0,counter3
- hug3:
- addi.b #1,counter3
- rts
-
-
- sorter4:
- move.l dig4,a4
- move.w (a4),g1
- adda.l #2,a4
- move.w (a4),g2
- adda.l #2,a4
- move.w (a4),g3
- adda.l #2,a4
- move.w (a4),g4
- adda.l #2,a4
- move.w (a4),g5
- adda.l #2,a4
- move.w (a4),g6
- adda.l #2,a4
- move.w (a4),g7
- adda.l #2,a4
- move.w (a4),g8
- suba.l #12,a4
- move.l a4,dig4
- cmpi.b #8*30,counter4
- bne hug4
- move.l #colourtab,a4
- move.l a4,dig4
- move.b #0,counter4
- hug4:
- addi.b #1,counter4
- rts
-
-
- mover:
- move.w b1,h1
- move.w b2,h2
- move.w b3,h3
- move.w b4,h4
- move.w b5,h5
- move.w b6,h6
- move.w b7,h7
- move.w b8,h8
- move.w c1,i1
- move.w c2,i2
- move.w c3,i3
- move.w c4,i4
- move.w c5,i5
- move.w c6,i6
- move.w c7,i7
- move.w c8,i8
- move.w e1,j1
- move.w e2,j2
- move.w e3,j3
- move.w e4,j4
- move.w e5,j5
- move.w e6,j6
- move.w e7,j7
- move.w e8,j8
- move.w f1,k1
- move.w f2,k2
- move.w f3,k3
- move.w f4,k4
- move.w f5,k5
- move.w f6,k6
- move.w f7,k7
- move.w f8,k8
- move.w g1,l1
- move.w g2,l2
- move.w g3,l3
- move.w g4,l4
- move.w g5,l5
- move.w g6,l6
- move.w g7,l7
- move.w g8,l8
- rts
-
- even
- countx: dc.b 0
- baz: dc.l 0
- yaz: dc.b 0
- gook: dc.b 0
- ook: dc.b 0
- even
-
- picdata:
- incbin "df1:graphics/para.chrset.raw"
-
- bobsetup:
- lea $dff000,a6
- move.w #$09f0,bltcon0(a6)
- clr.w bltcon1(a6)
- clr.w bltamod(a6)
- move.w #56-50,bltdmod(a6) ;Destination Modulo
- move.w #56-50,bltamod(a6) ;Source Modulo (Scr Width - bob width)
- move.l #screen-2+(56*220),bltdpt(a6) ;Destination Start
- move.l #screen+(56*220),bltapt(a6) ;Source Start
- move.w #%0000001000011001,bltsize(a6) ;Size (Lo 6 Bits Horiz)
- rts
-
- printy:
- move.l baz,a2
- move.b (a2),yaz
- move.b (a2)+,ook
- move.l a2,baz
- cmpi.b #0,yaz
- bne frek
- move.l #table,a2
- move.l a2,baz
- jmp ik
- frek:
- cmpi.b #65,yaz ;A
- bne char2
- char1:
- move.b picdata+320,screen+48+(56*220)
- move.b picdata+360,screen+48+(56*221)
- move.b picdata+400,screen+48+(56*222)
- move.b picdata+440,screen+48+(56*223)
- move.b picdata+480,screen+48+(56*224)
- move.b picdata+520,screen+48+(56*225)
- move.b picdata+560,screen+48+(56*226)
- move.b picdata+600,screen+48+(56*227)
- jmp ik
- char2:
- cmpi.b #66,yaz ;B
- bne char3
- move.b picdata+320+1,screen+48+(56*220)
- move.b picdata+360+1,screen+48+(56*221)
- move.b picdata+400+1,screen+48+(56*222)
- move.b picdata+440+1,screen+48+(56*223)
- move.b picdata+480+1,screen+48+(56*224)
- move.b picdata+520+1,screen+48+(56*225)
- move.b picdata+560+1,screen+48+(56*226)
- move.b picdata+600+1,screen+48+(56*227)
- jmp ik
- char3:
- cmpi.b #67,yaz ;C
- bne char4
- move.b picdata+320+2,screen+48+(56*220)
- move.b picdata+360+2,screen+48+(56*221)
- move.b picdata+400+2,screen+48+(56*222)
- move.b picdata+440+2,screen+48+(56*223)
- move.b picdata+480+2,screen+48+(56*224)
- move.b picdata+520+2,screen+48+(56*225)
- move.b picdata+560+2,screen+48+(56*226)
- move.b picdata+600+2,screen+48+(56*227)
- jmp ik
- char4:
- cmpi.b #68,yaz ;D
- bne char5
- move.b picdata+320+3,screen+48+(56*220)
- move.b picdata+360+3,screen+48+(56*221)
- move.b picdata+400+3,screen+48+(56*222)
- move.b picdata+440+3,screen+48+(56*223)
- move.b picdata+480+3,screen+48+(56*224)
- move.b picdata+520+3,screen+48+(56*225)
- move.b picdata+560+3,screen+48+(56*226)
- move.b picdata+600+3,screen+48+(56*227)
- jmp ik
- char5:
- cmpi.b #69,yaz ;E
- bne char6
- move.b picdata+320+4,screen+48+(56*220)
- move.b picdata+360+4,screen+48+(56*221)
- move.b picdata+400+4,screen+48+(56*222)
- move.b picdata+440+4,screen+48+(56*223)
- move.b picdata+480+4,screen+48+(56*224)
- move.b picdata+520+4,screen+48+(56*225)
- move.b picdata+560+4,screen+48+(56*226)
- move.b picdata+600+4,screen+48+(56*227)
- jmp ik
- char6:
- cmpi.b #70,yaz ;F
- bne char7
- move.b picdata+320+5,screen+48+(56*220)
- move.b picdata+360+5,screen+48+(56*221)
- move.b picdata+400+5,screen+48+(56*222)
- move.b picdata+440+5,screen+48+(56*223)
- move.b picdata+480+5,screen+48+(56*224)
- move.b picdata+520+5,screen+48+(56*225)
- move.b picdata+560+5,screen+48+(56*226)
- move.b picdata+600+5,screen+48+(56*227)
- jmp ik
- char7:
- cmpi.b #71,yaz ;G
- bne char8
- move.b picdata+320+6,screen+48+(56*220)
- move.b picdata+360+6,screen+48+(56*221)
- move.b picdata+400+6,screen+48+(56*222)
- move.b picdata+440+6,screen+48+(56*223)
- move.b picdata+480+6,screen+48+(56*224)
- move.b picdata+520+6,screen+48+(56*225)
- move.b picdata+560+6,screen+48+(56*226)
- move.b picdata+600+6,screen+48+(56*227)
- jmp ik
- char8:
- cmpi.b #72,yaz ;H
- bne char9
- move.b picdata+320+7,screen+48+(56*220)
- move.b picdata+360+7,screen+48+(56*221)
- move.b picdata+400+7,screen+48+(56*222)
- move.b picdata+440+7,screen+48+(56*223)
- move.b picdata+480+7,screen+48+(56*224)
- move.b picdata+520+7,screen+48+(56*225)
- move.b picdata+560+7,screen+48+(56*226)
- move.b picdata+600+7,screen+48+(56*227)
- jmp ik
- char9:
- cmpi.b #73,yaz ;I
- bne char10
- move.b picdata+320+8,screen+48+(56*220)
- move.b picdata+360+8,screen+48+(56*221)
- move.b picdata+400+8,screen+48+(56*222)
- move.b picdata+440+8,screen+48+(56*223)
- move.b picdata+480+8,screen+48+(56*224)
- move.b picdata+520+8,screen+48+(56*225)
- move.b picdata+560+8,screen+48+(56*226)
- move.b picdata+600+8,screen+48+(56*227)
- jmp ik
- char10:
- cmpi.b #74,yaz ;J
- bne char11
- move.b picdata+320+9,screen+48+(56*220)
- move.b picdata+360+9,screen+48+(56*221)
- move.b picdata+400+9,screen+48+(56*222)
- move.b picdata+440+9,screen+48+(56*223)
- move.b picdata+480+9,screen+48+(56*224)
- move.b picdata+520+9,screen+48+(56*225)
- move.b picdata+560+9,screen+48+(56*226)
- move.b picdata+600+9,screen+48+(56*227)
- jmp ik
- char11:
- cmpi.b #75,yaz ;K
- bne char12
- move.b picdata+320+10,screen+48+(56*220)
- move.b picdata+360+10,screen+48+(56*221)
- move.b picdata+400+10,screen+48+(56*222)
- move.b picdata+440+10,screen+48+(56*223)
- move.b picdata+480+10,screen+48+(56*224)
- move.b picdata+520+10,screen+48+(56*225)
- move.b picdata+560+10,screen+48+(56*226)
- move.b picdata+600+10,screen+48+(56*227)
- jmp ik
- char12:
- cmpi.b #76,yaz ;L
- bne char13
- move.b picdata+320+11,screen+48+(56*220)
- move.b picdata+360+11,screen+48+(56*221)
- move.b picdata+400+11,screen+48+(56*222)
- move.b picdata+440+11,screen+48+(56*223)
- move.b picdata+480+11,screen+48+(56*224)
- move.b picdata+520+11,screen+48+(56*225)
- move.b picdata+560+11,screen+48+(56*226)
- move.b picdata+600+11,screen+48+(56*227)
- jmp ik
- char13:
- cmpi.b #77,yaz ;M
- bne char14
- move.b picdata+320+12,screen+48+(56*220)
- move.b picdata+360+12,screen+48+(56*221)
- move.b picdata+400+12,screen+48+(56*222)
- move.b picdata+440+12,screen+48+(56*223)
- move.b picdata+480+12,screen+48+(56*224)
- move.b picdata+520+12,screen+48+(56*225)
- move.b picdata+560+12,screen+48+(56*226)
- move.b picdata+600+12,screen+48+(56*227)
- jmp ik
- char14:
- cmpi.b #78,yaz ;N
- bne char15
- move.b picdata+320+13,screen+48+(56*220)
- move.b picdata+360+13,screen+48+(56*221)
- move.b picdata+400+13,screen+48+(56*222)
- move.b picdata+440+13,screen+48+(56*223)
- move.b picdata+480+13,screen+48+(56*224)
- move.b picdata+520+13,screen+48+(56*225)
- move.b picdata+560+13,screen+48+(56*226)
- move.b picdata+600+13,screen+48+(56*227)
- jmp ik
- char15:
- cmpi.b #79,yaz ;O
- bne char16
- move.b picdata+320+14,screen+48+(56*220)
- move.b picdata+360+14,screen+48+(56*221)
- move.b picdata+400+14,screen+48+(56*222)
- move.b picdata+440+14,screen+48+(56*223)
- move.b picdata+480+14,screen+48+(56*224)
- move.b picdata+520+14,screen+48+(56*225)
- move.b picdata+560+14,screen+48+(56*226)
- move.b picdata+600+14,screen+48+(56*227)
- jmp ik
- char16:
- cmpi.b #80,yaz ;P
- bne char17
- move.b picdata+320+15,screen+48+(56*220)
- move.b picdata+360+15,screen+48+(56*221)
- move.b picdata+400+15,screen+48+(56*222)
- move.b picdata+440+15,screen+48+(56*223)
- move.b picdata+480+15,screen+48+(56*224)
- move.b picdata+520+15,screen+48+(56*225)
- move.b picdata+560+15,screen+48+(56*226)
- move.b picdata+600+15,screen+48+(56*227)
- jmp ik
- char17:
- cmpi.b #81,yaz ;Q
- bne char18
- move.b picdata+320+16,screen+48+(56*220)
- move.b picdata+360+16,screen+48+(56*221)
- move.b picdata+400+16,screen+48+(56*222)
- move.b picdata+440+16,screen+48+(56*223)
- move.b picdata+480+16,screen+48+(56*224)
- move.b picdata+520+16,screen+48+(56*225)
- move.b picdata+560+16,screen+48+(56*226)
- move.b picdata+600+16,screen+48+(56*227)
- jmp ik
- char18:
- cmpi.b #82,yaz ;R
- bne char19
- move.b picdata+320+17,screen+48+(56*220)
- move.b picdata+360+17,screen+48+(56*221)
- move.b picdata+400+17,screen+48+(56*222)
- move.b picdata+440+17,screen+48+(56*223)
- move.b picdata+480+17,screen+48+(56*224)
- move.b picdata+520+17,screen+48+(56*225)
- move.b picdata+560+17,screen+48+(56*226)
- move.b picdata+600+17,screen+48+(56*227)
- jmp ik
- char19:
- cmpi.b #83,yaz ;S
- bne char20
- move.b picdata+320+18,screen+48+(56*220)
- move.b picdata+360+18,screen+48+(56*221)
- move.b picdata+400+18,screen+48+(56*222)
- move.b picdata+440+18,screen+48+(56*223)
- move.b picdata+480+18,screen+48+(56*224)
- move.b picdata+520+18,screen+48+(56*225)
- move.b picdata+560+18,screen+48+(56*226)
- move.b picdata+600+18,screen+48+(56*227)
- jmp ik
- char20:
- cmpi.b #84,yaz ;T
- bne char21
- move.b picdata+320+19,screen+48+(56*220)
- move.b picdata+360+19,screen+48+(56*221)
- move.b picdata+400+19,screen+48+(56*222)
- move.b picdata+440+19,screen+48+(56*223)
- move.b picdata+480+19,screen+48+(56*224)
- move.b picdata+520+19,screen+48+(56*225)
- move.b picdata+560+19,screen+48+(56*226)
- move.b picdata+600+19,screen+48+(56*227)
- jmp ik
- char21:
- cmpi.b #85,yaz ;U
- bne char22
- move.b picdata+320+20,screen+48+(56*220)
- move.b picdata+360+20,screen+48+(56*221)
- move.b picdata+400+20,screen+48+(56*222)
- move.b picdata+440+20,screen+48+(56*223)
- move.b picdata+480+20,screen+48+(56*224)
- move.b picdata+520+20,screen+48+(56*225)
- move.b picdata+560+20,screen+48+(56*226)
- move.b picdata+600+20,screen+48+(56*227)
- jmp ik
- char22:
- cmpi.b #86,yaz ;V
- bne char23
- move.b picdata+320+21,screen+48+(56*220)
- move.b picdata+360+21,screen+48+(56*221)
- move.b picdata+400+21,screen+48+(56*222)
- move.b picdata+440+21,screen+48+(56*223)
- move.b picdata+480+21,screen+48+(56*224)
- move.b picdata+520+21,screen+48+(56*225)
- move.b picdata+560+21,screen+48+(56*226)
- move.b picdata+600+21,screen+48+(56*227)
- jmp ik
- char23:
- cmpi.b #87,yaz ;W
- bne char24
- move.b picdata+320+22,screen+48+(56*220)
- move.b picdata+360+22,screen+48+(56*221)
- move.b picdata+400+22,screen+48+(56*222)
- move.b picdata+440+22,screen+48+(56*223)
- move.b picdata+480+22,screen+48+(56*224)
- move.b picdata+520+22,screen+48+(56*225)
- move.b picdata+560+22,screen+48+(56*226)
- move.b picdata+600+22,screen+48+(56*227)
- jmp ik
- char24:
- cmpi.b #88,yaz ;X
- bne char25
- move.b picdata+320+23,screen+48+(56*220)
- move.b picdata+360+23,screen+48+(56*221)
- move.b picdata+400+23,screen+48+(56*222)
- move.b picdata+440+23,screen+48+(56*223)
- move.b picdata+480+23,screen+48+(56*224)
- move.b picdata+520+23,screen+48+(56*225)
- move.b picdata+560+23,screen+48+(56*226)
- move.b picdata+600+23,screen+48+(56*227)
- jmp ik
- char25:
- cmpi.b #89,yaz ;Y
- bne char26
- move.b picdata+320+24,screen+48+(56*220)
- move.b picdata+360+24,screen+48+(56*221)
- move.b picdata+400+24,screen+48+(56*222)
- move.b picdata+440+24,screen+48+(56*223)
- move.b picdata+480+24,screen+48+(56*224)
- move.b picdata+520+24,screen+48+(56*225)
- move.b picdata+560+24,screen+48+(56*226)
- move.b picdata+600+24,screen+48+(56*227)
- jmp ik
- char26:
- cmpi.b #90,yaz ;Z
- bne char27
- move.b picdata+320+25,screen+48+(56*220)
- move.b picdata+360+25,screen+48+(56*221)
- move.b picdata+400+25,screen+48+(56*222)
- move.b picdata+440+25,screen+48+(56*223)
- move.b picdata+480+25,screen+48+(56*224)
- move.b picdata+520+25,screen+48+(56*225)
- move.b picdata+560+25,screen+48+(56*226)
- move.b picdata+600+25,screen+48+(56*227)
- jmp ik
- char27:
- cmpi.b #32,yaz ;SPACE
- bne char32
- move.b picdata,screen+48+(56*220)
- move.b picdata+40,screen+48+(56*221)
- move.b picdata+80,screen+48+(56*222)
- move.b picdata+120,screen+48+(56*223)
- move.b picdata+160,screen+48+(56*224)
- move.b picdata+200,screen+48+(56*225)
- move.b picdata+240,screen+48+(56*226)
- move.b picdata+280,screen+48+(56*227)
- jmp ik
-
- char32:
- cmpi.b #46,yaz ;.
- bne char33
- move.b picdata+11,screen+48+(56*220)
- move.b picdata+40+11,screen+48+(56*221)
- move.b picdata+80+11,screen+48+(56*222)
- move.b picdata+120+11,screen+48+(56*223)
- move.b picdata+160+11,screen+48+(56*224)
- move.b picdata+200+11,screen+48+(56*225)
- move.b picdata+240+11,screen+48+(56*226)
- move.b picdata+280+11,screen+48+(56*227)
- jmp ik
- char33:
- cmpi.b #48,yaz ;0
- bne char34
- move.b picdata+10,screen+48+(56*220)
- move.b picdata+40+10,screen+48+(56*221)
- move.b picdata+80+10,screen+48+(56*222)
- move.b picdata+120+10,screen+48+(56*223)
- move.b picdata+160+10,screen+48+(56*224)
- move.b picdata+200+10,screen+48+(56*225)
- move.b picdata+240+10,screen+48+(56*226)
- move.b picdata+280+10,screen+48+(56*227)
- jmp ik
- char34:
- cmpi.b #49,yaz ;1
- bne char35
- move.b picdata+1,screen+48+(56*220)
- move.b picdata+40+1,screen+48+(56*221)
- move.b picdata+80+1,screen+48+(56*222)
- move.b picdata+120+1,screen+48+(56*223)
- move.b picdata+160+1,screen+48+(56*224)
- move.b picdata+200+1,screen+48+(56*225)
- move.b picdata+240+1,screen+48+(56*226)
- move.b picdata+280+1,screen+48+(56*227)
- jmp ik
- char35:
- cmpi.b #50,yaz ;2
- bne char36
- move.b picdata+2,screen+48+(56*220)
- move.b picdata+40+2,screen+48+(56*221)
- move.b picdata+80+2,screen+48+(56*222)
- move.b picdata+120+2,screen+48+(56*223)
- move.b picdata+160+2,screen+48+(56*224)
- move.b picdata+200+2,screen+48+(56*225)
- move.b picdata+240+2,screen+48+(56*226)
- move.b picdata+280+2,screen+48+(56*227)
- jmp ik
-
- char36:
- cmpi.b #51,yaz ;3
- bne char37
- move.b picdata+3,screen+48+(56*220)
- move.b picdata+40+3,screen+48+(56*221)
- move.b picdata+80+3,screen+48+(56*222)
- move.b picdata+120+3,screen+48+(56*223)
- move.b picdata+160+3,screen+48+(56*224)
- move.b picdata+200+3,screen+48+(56*225)
- move.b picdata+240+3,screen+48+(56*226)
- move.b picdata+280+3,screen+48+(56*227)
- jmp ik
- char37:
- cmpi.b #52,yaz ;4
- bne char38
- move.b picdata+4,screen+48+(56*220)
- move.b picdata+40+4,screen+48+(56*221)
- move.b picdata+80+4,screen+48+(56*222)
- move.b picdata+120+4,screen+48+(56*223)
- move.b picdata+160+4,screen+48+(56*224)
- move.b picdata+200+4,screen+48+(56*225)
- move.b picdata+240+4,screen+48+(56*226)
- move.b picdata+280+4,screen+48+(56*227)
- jmp ik
- char38:
- cmpi.b #53,yaz ;5
- bne char39
- move.b picdata+5,screen+48+(56*220)
- move.b picdata+40+5,screen+48+(56*221)
- move.b picdata+80+5,screen+48+(56*222)
- move.b picdata+120+5,screen+48+(56*223)
- move.b picdata+160+5,screen+48+(56*224)
- move.b picdata+200+5,screen+48+(56*225)
- move.b picdata+240+5,screen+48+(56*226)
- move.b picdata+280+5,screen+48+(56*227)
- jmp ik
- char39:
- cmpi.b #54,yaz ;6
- bne char40
- move.b picdata+6,screen+48+(56*220)
- move.b picdata+40+6,screen+48+(56*221)
- move.b picdata+80+6,screen+48+(56*222)
- move.b picdata+120+6,screen+48+(56*223)
- move.b picdata+160+6,screen+48+(56*224)
- move.b picdata+200+6,screen+48+(56*225)
- move.b picdata+240+6,screen+48+(56*226)
- move.b picdata+280+6,screen+48+(56*227)
- jmp ik
- char40:
- cmpi.b #55,yaz ;7
- bne char41
- move.b picdata+7,screen+48+(56*220)
- move.b picdata+40+7,screen+48+(56*221)
- move.b picdata+80+7,screen+48+(56*222)
- move.b picdata+120+7,screen+48+(56*223)
- move.b picdata+160+7,screen+48+(56*224)
- move.b picdata+200+7,screen+48+(56*225)
- move.b picdata+240+7,screen+48+(56*226)
- move.b picdata+280+7,screen+48+(56*227)
- jmp ik
- char41:
- cmpi.b #56,yaz ;8
- bne char42
- move.b picdata+8,screen+48+(56*220)
- move.b picdata+40+8,screen+48+(56*221)
- move.b picdata+80+8,screen+48+(56*222)
- move.b picdata+120+8,screen+48+(56*223)
- move.b picdata+160+8,screen+48+(56*224)
- move.b picdata+200+8,screen+48+(56*225)
- move.b picdata+240+8,screen+48+(56*226)
- move.b picdata+280+8,screen+48+(56*227)
- jmp ik
- char42:
- cmpi.b #57,yaz ;9
- bne char43
- move.b picdata+9,screen+48+(56*220)
- move.b picdata+40+9,screen+48+(56*221)
- move.b picdata+80+9,screen+48+(56*222)
- move.b picdata+120+9,screen+48+(56*223)
- move.b picdata+160+9,screen+48+(56*224)
- move.b picdata+200+9,screen+48+(56*225)
- move.b picdata+240+9,screen+48+(56*226)
- move.b picdata+280+9,screen+48+(56*227)
- jmp ik
-
- char43:
- cmpi.b #91,yaz ;` = [
- bne char44
- move.b picdata+13,screen+48+(56*220)
- move.b picdata+40+13,screen+48+(56*221)
- move.b picdata+80+13,screen+48+(56*222)
- move.b picdata+120+13,screen+48+(56*223)
- move.b picdata+160+13,screen+48+(56*224)
- move.b picdata+200+13,screen+48+(56*225)
- move.b picdata+240+13,screen+48+(56*226)
- move.b picdata+280+13,screen+48+(56*227)
- jmp ik
-
- char44:
- cmpi.b #93,yaz ;' = ]
- bne gobstop
- move.b picdata+14,screen+48+(56*220)
- move.b picdata+40+14,screen+48+(56*221)
- move.b picdata+80+14,screen+48+(56*222)
- move.b picdata+120+14,screen+48+(56*223)
- move.b picdata+160+14,screen+48+(56*224)
- move.b picdata+200+14,screen+48+(56*225)
- move.b picdata+240+14,screen+48+(56*226)
- move.b picdata+280+14,screen+48+(56*227)
- jmp ik
-
- gobstop:
- cmpi.b #45,yaz ; -
- bne cobstop
- move.b picdata+12,screen+48+(56*220)
- move.b picdata+40+12,screen+48+(56*221)
- move.b picdata+80+12,screen+48+(56*222)
- move.b picdata+120+12,screen+48+(56*223)
- move.b picdata+160+12,screen+48+(56*224)
- move.b picdata+200+12,screen+48+(56*225)
- move.b picdata+240+12,screen+48+(56*226)
- move.b picdata+280+12,screen+48+(56*227)
- jmp ik
-
- cobstop:
- cmpi.b #63,yaz ; ?
- bne charstop1
- move.b picdata+320+27,screen+48+(56*220)
- move.b picdata+360+27,screen+48+(56*221)
- move.b picdata+400+27,screen+48+(56*222)
- move.b picdata+440+27,screen+48+(56*223)
- move.b picdata+480+27,screen+48+(56*224)
- move.b picdata+520+27,screen+48+(56*225)
- move.b picdata+560+27,screen+48+(56*226)
- move.b picdata+600+27,screen+48+(56*227)
- jmp ik
-
- charstop1:
- cmpi.b #33,yaz ; !
- bne charstop
- move.b picdata+320+26,screen+48+(56*220)
- move.b picdata+360+26,screen+48+(56*221)
- move.b picdata+400+26,screen+48+(56*222)
- move.b picdata+440+26,screen+48+(56*223)
- move.b picdata+480+26,screen+48+(56*224)
- move.b picdata+520+26,screen+48+(56*225)
- move.b picdata+560+26,screen+48+(56*226)
- move.b picdata+600+26,screen+48+(56*227)
- jmp ik
-
- charstop:
- cmpi.b #38,yaz ;STOP = &
- bne char47
- move.b #1,stop
- move.b #1,start
- jmp ik
-
- char47:
- ik: cmpi.b #1,gook
- beq baj
- move.b screen+48+(56*220),screen+47+(56*220)
- move.b screen+48+(56*221),screen+47+(56*221)
- move.b screen+48+(56*222),screen+47+(56*222)
- move.b screen+48+(56*223),screen+47+(56*223)
- move.b screen+48+(56*224),screen+47+(56*224)
- move.b screen+48+(56*225),screen+47+(56*225)
- move.b screen+48+(56*226),screen+47+(56*226)
- move.b screen+48+(56*227),screen+47+(56*227)
- move.b #1,gook
- jmp printy
- baj: move.b #0,gook
- rts
-
-
- table:
- dc.b 'YOU]RE A REAL MAN NOW !! & '
- dc.b 'THIS IS THE FIRST PRODUCTION BROUGHT TO YOU BY '
- dc.b ' BLACK BOX! & '
- dc.b ' MARTIN GALWAY TUNES 1 & '
- dc.b ' FEATURING 3 CLASSIC 64 TUNES CONVERTED BY '
- dc.b ' CHRONOS! & '
- dc.b ' ALL CODING BY AX!! '
- dc.b ' & '
- dc.b ' LOGO DRAWN BY GIZ!! '
- dc.b ' & '
- dc.b ' SELECTION OF THE DIFFERENT TUNES IS CONTROLLED BY '
- dc.b 'PRESSING THE APPROPRIATE FUNCTION KEYS. F1 - PARALLAX HI'
- dc.b 'GH SCORE TUNE. F2 - RAMBO LOADING TUNE. F3 - RAMBO TITLE'
- dc.b ' TUNE. '
- dc.b 'MORE 64 TUNES COMING SOON !!! & '
- dc.b ' BLACK BOX IN 1990! '
- dc.b '& '
- dc.b 0
-
- even
-
-
-
- mt_init:
-
- lea mt_data,a0
- move.l a0,a1
- add.l #$3b8,a1
- moveq #$7f,d0
- moveq #0,d1
- mt_loop:move.l d1,d2
- subq.w #1,d0
- mt_lop2:move.b (a1)+,d1
- cmp.b d2,d1
- bgt.s mt_loop
- dbf d0,mt_lop2
- addq.b #1,d2
-
- lea mt_samplestarts(pc),a1
- asl.l #8,d2
- asl.l #2,d2
- add.l #$43c,d2
- add.l a0,d2
- move.l d2,a2
- moveq #$1e,d0
- mt_lop3:clr.l (a2)
- move.l a2,(a1)+
- moveq #0,d1
- move.w 42(a0),d1
- asl.l #1,d1
- add.l d1,a2
- add.l #$1e,a0
- dbf d0,mt_lop3
-
- or.b #$2,$bfe001
- move.b #$6,mt_speed
- clr.w $dff0a8
- clr.w $dff0b8
- clr.w $dff0c8
- clr.w $dff0d8
- clr.b mt_songpos
- clr.b mt_counter
- clr.w mt_pattpos
- rts
-
- mt_end: clr.w $dff0a8
- clr.w $dff0b8
- clr.w $dff0c8
- clr.w $dff0d8
- move.w #$f,$dff096
- rts
-
- mt_music:
- movem.l d0-d4/a0-a3/a5-a6,-(a7)
- lea mt_data,a0
- addq.b #$1,mt_counter
- move.b mt_counter,D0
- cmp.b mt_speed,D0
- blt.s mt_nonew
- clr.b mt_counter
- bra mt_getnew
-
- mt_nonew:
- lea mt_voice1(pc),a6
- lea $dff0a0,a5
- bsr mt_checkcom
- lea mt_voice2(pc),a6
- lea $dff0b0,a5
- bsr mt_checkcom
- lea mt_voice3(pc),a6
- lea $dff0c0,a5
- bsr mt_checkcom
- lea mt_voice4(pc),a6
- lea $dff0d0,a5
- bsr mt_checkcom
- bra mt_endr
-
- mt_arpeggio:
- moveq #0,d0
- move.b mt_counter,d0
- divs #$3,d0
- swap d0
- cmp.w #$0,d0
- beq.s mt_arp2
- cmp.w #$2,d0
- beq.s mt_arp1
-
- moveq #0,d0
- move.b $3(a6),d0
- lsr.b #4,d0
- bra.s mt_arp3
- mt_arp1:moveq #0,d0
- move.b $3(a6),d0
- and.b #$f,d0
- bra.s mt_arp3
- mt_arp2:move.w $10(a6),d2
- bra.s mt_arp4
- mt_arp3:asl.w #1,d0
- moveq #0,d1
- move.w $10(a6),d1
- lea mt_periods(pc),a0
- moveq #$24,d7
- mt_arploop:
- move.w (a0,d0.w),d2
- cmp.w (a0),d1
- bge.s mt_arp4
- addq.l #2,a0
- dbf d7,mt_arploop
- rts
- mt_arp4:move.w d2,$6(a5)
- rts
-
- mt_getnew:
-
- lea mt_data,a0
- move.l a0,a3
- move.l a0,a2
- add.l #$c,a3
- add.l #$3b8,a2
- add.l #$43c,a0
-
- moveq #0,d0
- move.l d0,d1
- move.b mt_songpos,d0
- move.b (a2,d0.w),d1
- asl.l #8,d1
- asl.l #2,d1
- add.w mt_pattpos,d1
- clr.w mt_dmacon
-
- lea $dff0a0,a5
- lea mt_voice1(pc),a6
- bsr.s mt_playvoice
- lea $dff0b0,a5
- lea mt_voice2(pc),a6
- bsr.s mt_playvoice
- lea $dff0c0,a5
- lea mt_voice3(pc),a6
- bsr.s mt_playvoice
- lea $dff0d0,a5
- lea mt_voice4(pc),a6
- bsr.s mt_playvoice
- bra mt_setdma
-
- mt_playvoice:
- move.l (a0,d1.l),(a6)
- addq.l #4,d1
- moveq #0,d2
- move.b $2(a6),d2
- and.b #$f0,d2
- lsr.b #4,d2
- move.b (a6),d0
- and.b #$f0,d0
- or.b d0,d2
- tst.b d2
- beq.s mt_setregs
- moveq #0,d3
- lea mt_samplestarts(pc),a1
- move.l d2,d4
- subq.l #$1,d2
- asl.l #2,d2
- mulu #$1e,d4
- move.l (a1,d2.l),$4(a6)
- move.w (a3,d4.l),$8(a6)
- move.w $2(a3,d4.l),$12(a6)
- move.w $4(a3,d4.l),d3
- tst.w d3
- beq.s mt_noloop
- move.l $4(a6),d2
- asl.w #1,d3
- add.l d3,d2
- move.l d2,$a(a6)
- move.w $4(a3,d4.l),d0
- add.w $6(a3,d4.l),d0
- move.w d0,8(a6)
- move.w $6(a3,d4.l),$e(a6)
- move.w $12(a6),$8(a5)
- bra.s mt_setregs
- mt_noloop:
- move.l $4(a6),d2
- add.l d3,d2
- move.l d2,$a(a6)
- move.w $6(a3,d4.l),$e(a6)
- move.w $12(a6),$8(a5)
- mt_setregs:
- move.w (a6),d0
- and.w #$fff,d0
- beq mt_checkcom2
- move.b $2(a6),d0
- and.b #$F,d0
- cmp.b #$3,d0
- bne.s mt_setperiod
- bsr mt_setmyport
- bra mt_checkcom2
- mt_setperiod:
- move.w (a6),$10(a6)
- and.w #$fff,$10(a6)
- move.w $14(a6),d0
- move.w d0,$dff096
- clr.b $1b(a6)
-
- move.l $4(a6),(a5)
- move.w $8(a6),$4(a5)
- move.w $10(a6),d0
- and.w #$fff,d0
- move.w d0,$6(a5)
- move.w $14(a6),d0
- or.w d0,mt_dmacon
- bra mt_checkcom2
-
- mt_setdma:
- move.w #$12c,d0
- mt_wait:dbf d0,mt_wait
- move.w mt_dmacon,d0
- or.w #$8000,d0
- move.w d0,$dff096
- move.w #$12c,d0
- mt_wai2:dbf d0,mt_wai2
- lea $dff000,a5
- lea mt_voice4(pc),a6
- move.l $a(a6),$d0(a5)
- move.w $e(a6),$d4(a5)
- lea mt_voice3(pc),a6
- move.l $a(a6),$c0(a5)
- move.w $e(a6),$c4(a5)
- lea mt_voice2(pc),a6
- move.l $a(a6),$b0(a5)
- move.w $e(a6),$b4(a5)
- lea mt_voice1(pc),a6
- move.l $a(a6),$a0(a5)
- move.w $e(a6),$a4(a5)
-
- add.w #$10,mt_pattpos
- cmp.w #$400,mt_pattpos
- bne.s mt_endr
- mt_nex: clr.w mt_pattpos
- clr.b mt_break
- addq.b #1,mt_songpos
- and.b #$7f,mt_songpos
- move.b mt_songpos,d1
- cmp.b mt_data+$3b6,d1
- bne.s mt_endr
- clr.b mt_songpos
- mt_endr:tst.b mt_break
- bne.s mt_nex
- movem.l (a7)+,d0-d4/a0-a3/a5-a6
- rts
-
- mt_setmyport:
- move.w (a6),d2
- and.w #$fff,d2
- move.w d2,$18(a6)
- move.w $10(a6),d0
- clr.b $16(a6)
- cmp.w d0,d2
- beq.s mt_clrport
- bge.s mt_rt
- move.b #$1,$16(a6)
- rts
- mt_clrport:
- clr.w $18(a6)
- mt_rt: rts
-
- mt_myport:
- move.b $3(a6),d0
- beq.s mt_myslide
- move.b d0,$17(a6)
- clr.b $3(a6)
- mt_myslide:
- tst.w $18(a6)
- beq.s mt_rt
- moveq #0,d0
- move.b $17(a6),d0
- tst.b $16(a6)
- bne.s mt_mysub
- add.w d0,$10(a6)
- move.w $18(a6),d0
- cmp.w $10(a6),d0
- bgt.s mt_myok
- move.w $18(a6),$10(a6)
- clr.w $18(a6)
- mt_myok:move.w $10(a6),$6(a5)
- rts
- mt_mysub:
- sub.w d0,$10(a6)
- move.w $18(a6),d0
- cmp.w $10(a6),d0
- blt.s mt_myok
- move.w $18(a6),$10(a6)
- clr.w $18(a6)
- move.w $10(a6),$6(a5)
- rts
-
- mt_vib: move.b $3(a6),d0
- beq.s mt_vi
- move.b d0,$1a(a6)
-
- mt_vi: move.b $1b(a6),d0
- lea mt_sin(pc),a4
- lsr.w #$2,d0
- and.w #$1f,d0
- moveq #0,d2
- move.b (a4,d0.w),d2
- move.b $1a(a6),d0
- and.w #$f,d0
- mulu d0,d2
- lsr.w #$6,d2
- move.w $10(a6),d0
- tst.b $1b(a6)
- bmi.s mt_vibmin
- add.w d2,d0
- bra.s mt_vib2
- mt_vibmin:
- sub.w d2,d0
- mt_vib2:move.w d0,$6(a5)
- move.b $1a(a6),d0
- lsr.w #$2,d0
- and.w #$3c,d0
- add.b d0,$1b(a6)
- rts
-
- mt_nop: move.w $10(a6),$6(a5)
- rts
-
- mt_checkcom:
- move.w $2(a6),d0
- and.w #$fff,d0
- beq.s mt_nop
- move.b $2(a6),d0
- and.b #$f,d0
- tst.b d0
- beq mt_arpeggio
- cmp.b #$1,d0
- beq.s mt_portup
- cmp.b #$2,d0
- beq mt_portdown
- cmp.b #$3,d0
- beq mt_myport
- cmp.b #$4,d0
- beq mt_vib
- move.w $10(a6),$6(a5)
- cmp.b #$a,d0
- beq.s mt_volslide
- rts
-
- mt_volslide:
- moveq #0,d0
- move.b $3(a6),d0
- lsr.b #4,d0
- tst.b d0
- beq.s mt_voldown
- add.w d0,$12(a6)
- cmp.w #$40,$12(a6)
- bmi.s mt_vol2
- move.w #$40,$12(a6)
- mt_vol2:move.w $12(a6),$8(a5)
- rts
-
- mt_voldown:
- moveq #0,d0
- move.b $3(a6),d0
- and.b #$f,d0
- sub.w d0,$12(a6)
- bpl.s mt_vol3
- clr.w $12(a6)
- mt_vol3:move.w $12(a6),$8(a5)
- rts
-
- mt_portup:
- moveq #0,d0
- move.b $3(a6),d0
- sub.w d0,$10(a6)
- move.w $10(a6),d0
- and.w #$fff,d0
- cmp.w #$71,d0
- bpl.s mt_por2
- and.w #$f000,$10(a6)
- or.w #$71,$10(a6)
- mt_por2:move.w $10(a6),d0
- and.w #$fff,d0
- move.w d0,$6(a5)
- rts
-
- mt_portdown:
- clr.w d0
- move.b $3(a6),d0
- add.w d0,$10(a6)
- move.w $10(a6),d0
- and.w #$fff,d0
- cmp.w #$358,d0
- bmi.s mt_por3
- and.w #$f000,$10(a6)
- or.w #$358,$10(a6)
- mt_por3:move.w $10(a6),d0
- and.w #$fff,d0
- move.w d0,$6(a5)
- rts
-
- mt_checkcom2:
- move.b $2(a6),d0
- and.b #$f,d0
- cmp.b #$e,d0
- beq.s mt_setfilt
- cmp.b #$d,d0
- beq.s mt_pattbreak
- cmp.b #$b,d0
- beq.s mt_posjmp
- cmp.b #$c,d0
- beq.s mt_setvol
- cmp.b #$f,d0
- beq.s mt_setspeed
- rts
-
- mt_setfilt:
- rts
- mt_pattbreak:
- not.b mt_break
- rts
- mt_posjmp:
- move.b $3(a6),d0
- subq.b #$1,d0
- move.b d0,mt_songpos
- not.b mt_break
- rts
- mt_setvol:
- cmp.b #$40,$3(a6)
- ble.s mt_vol4
- move.b #$40,$3(a6)
- mt_vol4:move.b $3(a6),$8(a5)
- rts
- mt_setspeed:
- move.b $3(a6),d0
- and.w #$1f,d0
- beq.s mt_rts2
- clr.b mt_counter
- move.b d0,mt_speed
- mt_rts2:rts
-
-
-
-
- mt_sin:
- dc.b $00,$18,$31,$4a,$61,$78,$8d,$a1,$b4,$c5,$d4,$e0,$eb,$f4,$fa,$fd
- dc.b $ff,$fd,$fa,$f4,$eb,$e0,$d4,$c5,$b4,$a1,$8d,$78,$61,$4a,$31,$18
-
- mt_periods:
- dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c,$023a,$021a,$01fc,$01e0
- dc.w $01c5,$01ac,$0194,$017d,$0168,$0153,$0140,$012e,$011d,$010d,$00fe
- dc.w $00f0,$00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097,$008f,$0087
- dc.w $007f,$0078,$0071,$0000,$0000
-
- mt_speed: dc.b $6
- mt_songpos: dc.b $0
- mt_pattpos: dc.w $0
- mt_counter: dc.b $0
-
- mt_break: dc.b $0
- mt_dmacon: dc.w $0
- mt_samplestarts:dcb.l $1f,0
- mt_voice1: dcb.w 10,0
- dc.w $1
- dcb.w 3,0
- mt_voice2: dcb.w 10,0
- dc.w $2
- dcb.w 3,0
- mt_voice3: dcb.w 10,0
- dc.w $4
- dcb.w 3,0
- mt_voice4: dcb.w 10,0
- dc.w $8
- dcb.w 3,0
-
- mt_data incbin "df1:Modules/Mod.parallax"
-
-
- logo:
- incbin 'df1:graphics/sky.logo.raw'
-
-